Conventionally the instructions of a programmable processor code the control statuses thereof, these control statuses fixing the operating configurations of the data path.
The global control status of the processor varies in each cycle of the clock signal on the basis of which it is clocked. When the instructions of the program code which are contained in the program memory are intended simultaneously to control the control statuses of several distinct hardware resources, commonly designated under the generic term of execution units, the control status varies locally in each clock cycle as a function of the various execution units. These execution units can for example be arithmetic and logic units, multipliers, adders or even controllable facilities for inter-connecting the previously mentioned elements, such as multiplexers.
Command of all the possible control statuses on the basis of a succession of instruction words each consisting of the control words intended to command respectively, directly and simultaneously, the various execution units, would be possible but would lead to a very considerable size of the program code, and consequently to the use of a large program memory.